package com.daffodil.workable.service;

import java.util.List;

import com.daffodil.core.entity.Query;
import com.daffodil.workable.entity.WorkableNode;

/**
 * -节点信息Service接口
 * @author yweijian
 * @date 2022-04-07
 * @version 1.0
 * @description
 */
public interface IWorkableNodeService {

    /**
     * -分页查询节点信息列表
     * @param query 节点信息
     * @return 节点信息
     */
    public List<WorkableNode> selectWorkableNodeList(Query<WorkableNode> query);

    /**
     * -查询节点信息
     * @param id 节点信息ID
     * @return 节点信息
     */
    public WorkableNode selectWorkableNodeById(String id);

    /**
     * -新增节点信息
     * @param workableNode
     */
    public void insertWorkableNode(WorkableNode workableNode);

    /**
     * -修改节点信息
     * @param workableNode
     */
    public void updateWorkableNode(WorkableNode workableNode);

    /**
     * -删除节点信息
     * @param ids
     */
    public void deleteWorkableNodeByIds(String[] ids);

    /**
     * -查询节点信息
     * @param taskId
     * @param nodeId
     * @return
     */
    public WorkableNode selectWorkableNodeByTaskIdAndNodeId(String taskId, String nodeId);
    
    /**
     * -获取开始节点信息
     * @param taskId
     * @return
     */
    public WorkableNode selectStartWorkableNodeByTaskId(String taskId);

}
